package com.heima.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.Page;
import com.heima.pojo.dto.NodePageDTO;
import com.heima.pojo.entity.Node;
import com.heima.pojo.vo.NodeCollectVO;
import com.heima.pojo.vo.NodeDetailVO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 点位数据访问层接口
 */
@Mapper
public interface NodeMapper extends BaseMapper<Node> {
    
    /**
     * 根据区域ID列表查询点位信息
     * @param regionIds 区域ID列表
     * @return 点位列表
     */
    List<Node> getByRegionIds(List<String> regionIds);


    /*
    * 点位数据分页查询
    * */
    Page<Node> page(NodePageDTO nodePageDTO);

    /*
    * 新增点位数据
    * */
    @Insert("INSERT INTO tb_node (name, addr, area_code, create_user_id, region_id, business_id, owner_id, owner_name, update_time, create_time)\n" +
            "        VALUES (#{name}, #{addr}, #{areaCode}, #{createUserId}, #{regionId}, #{businessId}, #{ownerId}, #{ownerName}, #{updateTime}, #{createTime}) ")
    void addNode(Node node);

    /*
    * 根据点位id删除
    * */
    @Delete("delete from tb_node where id = #{id}")
    void deleteById(String id);


    List<NodeDetailVO> selectNodeDetail(String nodeId);

    List<NodeCollectVO> nodeCollect();

}
